package db;

/**
 * Beinhaltet alle Datenbankabfragen für
 * die Abbildungen der Übungen
 *
 * @author felix
 */
public class pictures {
    /**
    * Such talle Bilder für eine bestimmte Übung
    * @author felix
    * @param id ID der Übung
    * @return Stringarray mit allen Bildern der Übung
    */
    public static String[][] getAllPicturesByExerciseId(String id){
        String sql = "SELECT ID, name, description, path FROM pictures WHERE `exercise.ID`=" + id;
        String pictures[][] = db.MySQLConnection.getInstance().getGenericQuery(sql);

        return pictures;
    }

    /**
    * Sieh nach, ob für Übung bereits ein Bild angelegt wurde
    * @author felix
    * @param id ID der Übung
    * @return Stringarray mit allen Bildern der Übung
    */
    public static String countPicturesByExerciseId(String id){
        String sql = "SELECT COUNT(*) FROM pictures WHERE `exercise.ID`=" + id;
        String pictures[][] = db.MySQLConnection.getInstance().getGenericQuery(sql);

        return pictures[0][0];
    }

    /**
    * Aktualisiert den Eintrag für ein Bild
    * @author felix
    * @param id ID der Übung des Bildes
    * @param file Dateiname des Bildes
    */
    public static void updatePicture (String id, String file) {
        // Query
        String sql = "";

        // Sieh nach, ob schon ein Bild für die Übung existiert
        String checkPicture = countPicturesByExerciseId(id);

        // Wenn kein Bild existiert
        if(checkPicture.equals("0")){
            // Füge Neues Bild ein
            sql = "INSERT INTO pictures (`exercise.ID`,`path`)VALUES (?,?)";
            String[] param = {id, file};
            db.MySQLConnection.getInstance().executeStatement(sql, param);
        } else {
            // Ändere Bild
            sql = "UPDATE pictures SET path =? WHERE `exercise.ID` = ?";
            String[] param = {file, id};
            db.MySQLConnection.getInstance().executeStatement(sql, param);
        }
    }
}
